#ifndef INPUTEVENTMANAGER_H
#define INPUTEVENTMANAGER_H

#include <SDL/SDL.h>

class InputEventManager
{
    public:

    InputEventManager();

    SDL_Event * event;    /*!< Objet récupérant l'événement en cours renvoyer par la méthode SDL_PollEvent */

    void DeStackEvents();

    int mousePositionX;
    int mousePositionY;

    int spaceDown;

    int keyDown   [500];        /*!< Tableau contenant les états keyDown        */
    int keyUp     [500];        /*!< Tableau contenant les états keyUp          */
    int keyPressed[500];    /*!< Tableau contenant les états keyPressed     */

    Uint8 * keyboardState;  /*!< Variable utilisé pour "mapper" le statut des touches du clavier    */

    int KeyDown(int code);
    int KeyUp(int code);
    int KeyPressed(int code);

    int mouseMoved;
    int leftMouseDown;
    int rightMouseDown;

    int MouseMoved();
    void ResetKeyState();
    int LeftMouseDown();
    int RightMouseDown();
};

#endif // INPUTEVENTMANAGER_H
